/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package juan2;

/**
 *
 * @author Diego
 */
public class Juan2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        
       NodoArbol raiz = new NodoArbol('a');
       NodoArbol raiz2 = new NodoArbol('a');
       NodoArbol raiz3 = new NodoArbol('a');

       
       
      // primer nivel

      NodoArbol nivel1hijo0 = new NodoArbol('b');

      NodoArbol nivel1hijo1 = new NodoArbol('c');

      NodoArbol nivel1hijo2 = new NodoArbol('d');

 

      
      // segundo nivel

      NodoArbol nivel2hijo0 = new NodoArbol('c');

      NodoArbol nivel2hijo1 = new NodoArbol('e');

      NodoArbol nivel2hijo2 = new NodoArbol('g');

      NodoArbol nivel2hijo3 = new NodoArbol('b');

      NodoArbol nivel2hijo4 = new NodoArbol('d');

      NodoArbol nivel2hijo5 = new NodoArbol('e');

      NodoArbol nivel2hijo6 = new NodoArbol('f');

      NodoArbol nivel2hijo7 = new NodoArbol('c');
      
      NodoArbol nivel2hijo8 = new NodoArbol('f');
 

      
      
      
      // tercer nivel

      NodoArbol nivel3hijo0 = new NodoArbol('d');

      NodoArbol nivel3hijo1 = new NodoArbol('e');

      NodoArbol nivel3hijo2 = new NodoArbol('f');

      NodoArbol nivel3hijo3 = new NodoArbol('c');
      
      NodoArbol nivel3hijo4 = new NodoArbol('f');

      NodoArbol nivel3hijo5 = new NodoArbol('h');

      NodoArbol nivel3hijo6 = new NodoArbol('e');

      NodoArbol nivel3hijo7 = new NodoArbol('g');

      NodoArbol nivel3hijo8 = new NodoArbol('f');

      NodoArbol nivel3hijo9 = new NodoArbol('b');

      NodoArbol nivel3hijo10 = new NodoArbol('f');

      NodoArbol nivel3hijo11 = new NodoArbol('d');
      
      NodoArbol nivel3hijo12 = new NodoArbol('e');
      
      NodoArbol nivel3hijo13 = new NodoArbol('h');

      NodoArbol nivel3hijo14 = new NodoArbol('b');

      NodoArbol nivel3hijo15 = new NodoArbol('e');

      NodoArbol nivel3hijo16 = new NodoArbol('f');

      NodoArbol nivel3hijo17 = new NodoArbol('c');

      NodoArbol nivel3hijo18 = new NodoArbol('e');

      NodoArbol nivel3hijo19 = new NodoArbol('h');

     
      
      

     // cuarto nivel
      
      NodoArbol nivel4hijo0 = new NodoArbol('f');
      
      NodoArbol nivel4hijo1 = new NodoArbol('f');
       
      NodoArbol nivel4hijo2 = new NodoArbol('d');
        
      NodoArbol nivel4hijo3 = new NodoArbol('e');
         
      NodoArbol nivel4hijo4 = new NodoArbol('h');
          
      NodoArbol nivel4hijo5 = new NodoArbol('d');
           
      NodoArbol nivel4hijo6 = new NodoArbol('f');
            
      NodoArbol nivel4hijo7 = new NodoArbol('c');
             
      NodoArbol nivel4hijo8 = new NodoArbol('d');
              
      NodoArbol nivel4hijo9 = new NodoArbol('h');
               
      NodoArbol nivel4hijo10 = new NodoArbol('f');
                
      NodoArbol nivel4hijo11 = new NodoArbol('h');
                 
      NodoArbol nivel4hijo12 = new NodoArbol('e');
                  
      NodoArbol nivel4hijo13 = new NodoArbol('h');
                   
      NodoArbol nivel4hijo14 = new NodoArbol('g');
                    
      NodoArbol nivel4hijo15 = new NodoArbol('d');
                     
      NodoArbol nivel4hijo16 = new NodoArbol('h');
                      
      NodoArbol nivel4hijo17 = new NodoArbol('b');
                       
      NodoArbol nivel4hijo18 = new NodoArbol('e');
                        
      NodoArbol nivel4hijo19 = new NodoArbol('g');
                         
      NodoArbol nivel4hijo20 = new NodoArbol('b');
                          
      NodoArbol nivel4hijo21 = new NodoArbol('f');
                           
      NodoArbol nivel4hijo22 = new NodoArbol('e');
                            
      NodoArbol nivel4hijo23 = new NodoArbol('h');
                             
      NodoArbol nivel4hijo24 = new NodoArbol('b');
                              
      NodoArbol nivel4hijo25 = new NodoArbol('e');
                               
      NodoArbol nivel4hijo26 = new NodoArbol('b');
                                
      NodoArbol nivel4hijo27 = new NodoArbol('c');
      
 
      
      
      
      
       // quinto nivel
      
      
      NodoArbol nivel5hijo0 = new NodoArbol('e');
      
      NodoArbol nivel5hijo1 = new NodoArbol('h');
       
      NodoArbol nivel5hijo2 = new NodoArbol('d');
        
      NodoArbol nivel5hijo3 = new NodoArbol('h');
         
      NodoArbol nivel5hijo4 = new NodoArbol('f');
          
      NodoArbol nivel5hijo5 = new NodoArbol('d');
           
      NodoArbol nivel5hijo6 = new NodoArbol('h');
            
      NodoArbol nivel5hijo7 = new NodoArbol('d');
                     
      NodoArbol nivel5hijo8 = new NodoArbol('c');
               
      NodoArbol nivel5hijo9 = new NodoArbol('d');
                
      NodoArbol nivel5hijo10 = new NodoArbol('h');
                 
      NodoArbol nivel5hijo11 = new NodoArbol('b');
                  
      NodoArbol nivel5hijo12 = new NodoArbol('h');
                   
      NodoArbol nivel5hijo13 = new NodoArbol('g');
                    
      NodoArbol nivel5hijo14 = new NodoArbol('f');
                     
      NodoArbol nivel5hijo15 = new NodoArbol('h');
                      
      NodoArbol nivel5hijo16 = new NodoArbol('g');
                       
      NodoArbol nivel5hijo17 = new NodoArbol('h');
                        
      NodoArbol nivel5hijo18 = new NodoArbol('b');
                         
      NodoArbol nivel5hijo19 = new NodoArbol('e');
                          
      NodoArbol nivel5hijo20 = new NodoArbol('g');
                           
      NodoArbol nivel5hijo21 = new NodoArbol('b');
                            
      NodoArbol nivel5hijo22 = new NodoArbol('c');
                             
      NodoArbol nivel5hijo23 = new NodoArbol('g');
                              
      NodoArbol nivel5hijo24 = new NodoArbol('b');
      
      
      
      
      
      
       // sesto nivel
      
      NodoArbol nivel6hijo0 = new NodoArbol('h');

      NodoArbol nivel6hijo1 = new NodoArbol('g');

      NodoArbol nivel6hijo2 = new NodoArbol('h');

      NodoArbol nivel6hijo3 = new NodoArbol('h');

      NodoArbol nivel6hijo4 = new NodoArbol('h');

      NodoArbol nivel6hijo5 = new NodoArbol('g');

      NodoArbol nivel6hijo6 = new NodoArbol('h');

      NodoArbol nivel6hijo7 = new NodoArbol('g');
      
      NodoArbol nivel6hijo8 = new NodoArbol('h');
      
      NodoArbol nivel6hijo9 = new NodoArbol('g');
      
      
      
      
      
      // septimo nivel
      
      NodoArbol nivel7hijo0 = new NodoArbol('h');

      NodoArbol nivel7hijo1 = new NodoArbol('h');

      NodoArbol nivel7hijo2 = new NodoArbol('h');

      NodoArbol nivel7hijo3 = new NodoArbol('h');
      
      
      
      
      
      

      
      
      // construir el arbol

      raiz.addHijo(nivel1hijo0);

      raiz2.addHijo(nivel1hijo1);

      raiz3.addHijo(nivel1hijo2);

 
      
      

      // primer nivel arbol

      nivel1hijo0.addHijo(nivel2hijo0);
      nivel1hijo0.addHijo(nivel2hijo1);
      nivel1hijo0.addHijo(nivel2hijo2);

      
     
    

      nivel1hijo1.addHijo(nivel2hijo3);
      nivel1hijo1.addHijo(nivel2hijo4);
      nivel1hijo1.addHijo(nivel2hijo5);
      nivel1hijo1.addHijo(nivel2hijo6);
      
      
      
      

      nivel1hijo2.addHijo(nivel2hijo7);
      nivel1hijo2.addHijo(nivel2hijo8);
     

 
      
      
      
      // segundo nivel arbol

      nivel2hijo0.addHijo(nivel3hijo0);
      nivel2hijo0.addHijo(nivel3hijo1);
      nivel2hijo0.addHijo(nivel3hijo2);
      
      
      
      

      nivel2hijo1.addHijo(nivel3hijo3);
      nivel2hijo1.addHijo(nivel3hijo4);
      
      
     
      nivel2hijo2.addHijo(nivel3hijo5);
      

    
      nivel2hijo3.addHijo(nivel3hijo6);
      nivel2hijo3.addHijo(nivel3hijo7);
      
      
      
      nivel2hijo4.addHijo(nivel3hijo8);
      
      
      
      nivel2hijo5.addHijo(nivel3hijo9);
      nivel2hijo5.addHijo(nivel3hijo10);
      
      
      nivel2hijo6.addHijo(nivel3hijo11);
      nivel2hijo6.addHijo(nivel3hijo12);
      nivel2hijo6.addHijo(nivel3hijo13);
      
      
      nivel2hijo7.addHijo(nivel3hijo14);
      nivel2hijo7.addHijo(nivel3hijo15);
      nivel2hijo7.addHijo(nivel3hijo16);
      
      
      nivel2hijo8.addHijo(nivel3hijo17);
      nivel2hijo8.addHijo(nivel3hijo18);
      nivel2hijo8.addHijo(nivel3hijo19);
      
      
      
      
      
      
      
      
    // tercer nivel arbol
      
      nivel3hijo0.addHijo(nivel4hijo0);
      
      
      
      nivel3hijo1.addHijo(nivel4hijo1);
      
      
      
      
      nivel3hijo2.addHijo(nivel4hijo2); 
      nivel3hijo2.addHijo(nivel4hijo3); 
      nivel3hijo2.addHijo(nivel4hijo4); 
      
      
      
      nivel3hijo3.addHijo(nivel4hijo5); 
      nivel3hijo3.addHijo(nivel4hijo6);
      
      
      nivel3hijo4.addHijo(nivel4hijo7); 
      nivel3hijo4.addHijo(nivel4hijo8);
      nivel3hijo4.addHijo(nivel4hijo9);
      
      
      
      nivel3hijo6.addHijo(nivel4hijo10); 
      
      
      nivel3hijo7.addHijo(nivel4hijo11); 
      
      
      
      nivel3hijo8.addHijo(nivel4hijo12); 
      nivel3hijo8.addHijo(nivel4hijo13); 
      
      
      
     nivel3hijo9.addHijo(nivel4hijo14); 
      
      
     nivel3hijo10.addHijo(nivel4hijo15); 
     nivel3hijo10.addHijo(nivel4hijo16); 
     
     
     
      nivel3hijo12.addHijo(nivel4hijo17); 
      
      
      
     nivel3hijo14.addHijo(nivel4hijo18); 
     nivel3hijo14.addHijo(nivel4hijo19); 
     
     nivel3hijo15.addHijo(nivel4hijo20); 
     nivel3hijo15.addHijo(nivel4hijo21); 
      
      
     nivel3hijo16.addHijo(nivel4hijo22);  
     nivel3hijo16.addHijo(nivel4hijo23); 
     
     
     
     nivel3hijo17.addHijo(nivel4hijo24); 
     nivel3hijo17.addHijo(nivel4hijo25); 
     
     
     
     nivel3hijo18.addHijo(nivel4hijo26); 
     nivel3hijo18.addHijo(nivel4hijo27); 
      
      
     
     
     
     
      
       // cuarto nivel arbol 
      
      
       
     nivel4hijo0.addHijo(nivel5hijo0);   
     nivel4hijo0.addHijo(nivel5hijo1); 
     
     
     
     nivel4hijo1.addHijo(nivel5hijo2);  
     nivel4hijo1.addHijo(nivel5hijo3);  
     
     
     
     nivel4hijo5.addHijo(nivel5hijo4); 
      
      
     nivel4hijo6.addHijo(nivel5hijo5);  
     nivel4hijo6.addHijo(nivel5hijo6); 
     
     
     nivel4hijo7.addHijo(nivel5hijo7); 
     
     
     nivel4hijo8.addHijo(nivel5hijo8); 
     
     
     
     nivel4hijo10.addHijo(nivel5hijo9); 
     nivel4hijo10.addHijo(nivel5hijo10); 
     
     
     nivel4hijo12.addHijo(nivel5hijo11); 
     
     
     nivel4hijo14.addHijo(nivel5hijo12); 
     
     
     nivel4hijo17.addHijo(nivel5hijo13); 
     
     
     
     nivel4hijo18.addHijo(nivel5hijo14); 
     
     
     nivel4hijo19.addHijo(nivel5hijo15); 
     
     
     nivel4hijo20.addHijo(nivel5hijo16); 
     
     
     nivel4hijo21.addHijo(nivel5hijo17); 
     
     
     nivel4hijo22.addHijo(nivel5hijo18); 
     
     
     
    
     nivel4hijo24.addHijo(nivel5hijo19); 
     nivel4hijo24.addHijo(nivel5hijo20); 
      
      
     
     
     nivel4hijo25.addHijo(nivel5hijo21); 
      
      
     
      nivel4hijo26.addHijo(nivel5hijo22); 
      nivel4hijo26.addHijo(nivel5hijo23); 
     
     
      nivel4hijo27.addHijo(nivel5hijo24); 
  
     
     
     
      
      
      
        // quinto nivel arbol
      
        
       nivel5hijo4.addHijo(nivel6hijo0); 
      
      
       nivel5hijo11.addHijo(nivel6hijo1);   
      
      
       nivel5hijo13.addHijo(nivel6hijo2); 
      
       nivel5hijo14.addHijo(nivel6hijo3); 
      
      
       nivel5hijo16.addHijo(nivel6hijo4); 
      
      
       nivel5hijo18.addHijo(nivel6hijo5); 
      
       nivel5hijo20.addHijo(nivel6hijo6); 
      
       nivel5hijo21.addHijo(nivel6hijo7); 
     
       
       nivel5hijo23.addHijo(nivel6hijo8); 
       
       
       nivel5hijo4.addHijo(nivel6hijo9); 
       
       
       
       
         // sesto nivel arbol
       
       
       nivel6hijo1.addHijo(nivel7hijo0); 
       
       nivel6hijo5.addHijo(nivel7hijo1); 
       
       nivel6hijo7.addHijo(nivel7hijo2); 
        
       nivel6hijo9.addHijo(nivel7hijo3); 
       
       
       
       
       
       
       
   
      
      
     System.out.println(raiz.busquedaProfundidad('h'));
     System.out.println(raiz2.busqueda2('h'));
     System.out.println(raiz3.busqueda3('h'));

   }
        
        
        
}

